/**
 * 
 */
package cl.hhha.web.model;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Embeddable;
import javax.persistence.ManyToOne;

/**
 * Modela los datos que serán necesarios para que una entidad pueda ser auditada.
 * 
 * @author Óscar Álvarez V
 * @date 20-07-2009 - 9:24:58
 * @version 1.0
 */
@Embeddable
public class Auditoria implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = -8483668510129125531L;

	@ManyToOne
	@Column(name="usuario_id")
	private User usuario;
		
	@Column(nullable=false)
	private String ip;
	
	@Column(nullable=false)
	private Date fecha;
	
	@ManyToOne
	@Column(name="usuario_modificacion_id")
	private User usuarioModificacion;
	
	@Column(name="ip_modificacion")
	private String ipModificacion;
	
	@Column(name="fecha_modificacion")
	private Date fechaModificacion;

	/**
	 * @return the usuario
	 */
	public User getUsuario() {
		return usuario;
	}

	/**
	 * @param usuario the usuario to set
	 */
	public void setUsuario(User usuario) {
		this.usuario = usuario;
	}

	/**
	 * @return the ip
	 */
	public String getIp() {
		return ip;
	}

	/**
	 * @param ip the ip to set
	 */
	public void setIp(String ip) {
		this.ip = ip;
	}

	/**
	 * @return the fecha
	 */
	public Date getFecha() {
		return fecha;
	}

	/**
	 * @param fecha the fecha to set
	 */
	public void setFecha(Date fecha) {
		this.fecha = fecha;
	}

	/**
	 * @return the usuarioModificacion
	 */
	public User getUsuarioModificacion() {
		return usuarioModificacion;
	}

	/**
	 * @param usuarioModificacion the usuarioModificacion to set
	 */
	public void setUsuarioModificacion(User usuarioModificacion) {
		this.usuarioModificacion = usuarioModificacion;
	}

	/**
	 * @return the ipModificacion
	 */
	public String getIpModificacion() {
		return ipModificacion;
	}

	/**
	 * @param ipModificacion the ipModificacion to set
	 */
	public void setIpModificacion(String ipModificacion) {
		this.ipModificacion = ipModificacion;
	}

	/**
	 * @return the fechaModificacion
	 */
	public Date getFechaModificacion() {
		return fechaModificacion;
	}

	/**
	 * @param fechaModificacion the fechaModificacion to set
	 */
	public void setFechaModificacion(Date fechaModificacion) {
		this.fechaModificacion = fechaModificacion;
	}

		
}
